package pe.gob.pj.sri.dao.imp;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.stereotype.Repository;

import pe.gob.pj.sri.bean.PersonaNatural;
import pe.gob.pj.sri.dao.PersonaDao;

@Repository("personaDao")
public class PersonaDaoImp extends JdbcDaoSupport implements PersonaDao {

	public void registrarPersonaNatural(PersonaNatural personaNatural) throws Exception {

	}

	public int actualizarPersonaNatural(PersonaNatural personaNatural)throws Exception{
		return 0;
	}

	public int eliminarPersonaNatural(PersonaNatural personaNatural) throws Exception{
		return 0;
	}

	public List<PersonaNatural> listarPersonaNatural(PersonaNatural personaNatural)  throws Exception{
		StringBuilder consulta = new StringBuilder();
		
		consulta.append(" SELECT PN.CODIGO, PN.NOMBRES,PN.APELLIDO_PATERNO,PN.APELLIDO_MATERNO, " );
		consulta.append(" PN.EDAD,PN.DNI,PN.DIRECCION,PN.USUARIO_CREACION,PN.FECHA_CREACION, ");
		consulta.append(" PN.USUARIO_MODIFICACION,PN.FECHA_MODIFICACION FROM dbo.PERSONA_NATURAL PN WHERE PN.ESTADO = 1 ") ;
		
		
		List<Map<String,Object>> listaOpcion = (List<Map<String,Object>>)getJdbcTemplate().queryForList(consulta.toString());
		
		
		List<PersonaNatural> lista = new ArrayList<PersonaNatural>();
		PersonaNatural personaLis = null;
		
		for(Map<String, Object> persona : listaOpcion){
			personaLis = new PersonaNatural();
			personaLis.setCodigo(new Integer(persona.get("CODIGO").toString()));
			personaLis.setApellidoPaterno(persona.get("APELLIDO_PATERNO").toString());
			personaLis.setApellidoMaterno(persona.get("APELLIDO_MATERNO").toString());
			personaLis.setNombres(persona.get("NOMBRES").toString());
			personaLis.setDni(persona.get("DNI").toString());
			personaLis.setDireccion(persona.get("DIRECCION").toString());
			personaLis.setEdad(new Integer(persona.get("EDAD").toString()));
			//personaLis.setEstado(new Integer(persona.get("ESTADO").toString()));
			personaLis.setSeleccionado(false);
			lista.add(personaLis);
		}
		return lista;
	}

}
